Add commands to manage required external tools#1174
Merged
Conversation
f487b25 to
d6109b1
Compare
4972449 to
2edae66
Compare
commodore tool command group2edae66 to
3e9055a
Compare
DebakelOrakel
approved these changes
Jul 11, 2025
f7c4d69 to
7867dbf
Compare
1b83854 to
af9b162
Compare
8ca0260 to
be50116
Compare
bastjan
reviewed
Jul 14, 2025
Member
bastjan
left a comment
There was a problem hiding this comment.
The docker image build should most likely also use tool install.
be50116 to
4dc943d
Compare
Member
Author
done in 4677158 |
6bab03e to
4677158
Compare
We update the Dockerfile to use `commodore tool install` to install the required external tools. Note that we use individual calls for each tool so we can still have well-defined external tool versions in the container image. To standardize the external tool management in the container image, we also introduce an explicit Helm 3 version for the container image. Since we don't need Helm 2 anymore, we don't install the `helm2` binary in the container image anymore. Finally, we also remove `tools/install-jb.sh` which isn't required anymore and adjust the container image test to use the new `commodore version` command.
4677158 to
af428f4
Compare
bastjan
approved these changes
Jul 14, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR introduces a new command group
commodore toolwhich enables users to use Commodore to install and upgrade the required external toolshelm(Helm 3),jb(the Project Syn fork of jsonnet-bundler) andkustomize(the standalone Kustomize binary).The new commands are
commodore tool list-- lists the external tools and shows their management state and whether there's an upgrade availablecommodore tool install TOOL-- installs an external tool which isn't yet managed by Commodorecommodore tool install --missing-- installs all external tools which aren't yet managed by Commodorecommodore tool upgrade TOOL-- upgrades a managed external tool to the latest versioncommodore tool upgrade --all-- upgrades all managed external tools to their latest versionsAll commands optionally accept a GitHub personal access token (PAT) to avoid running into the fairly strict unauthenticated GitHub rate limits. The PAT can be passed through environment variable
COMMODORE_GITHUB_TOKEN(recommended) or with command line flag--github-token.TODO
commodore tool install --all/commodore tool install --missingcommodore tool installChecklist
bug,enhancement,documentation,change,breaking,dependency,internalas they show up in the changelog